﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using log4net;
using Iudicium.Utilitarios;

public partial class Servicios_TipoTramite_ListaTipoTramites : System.Web.UI.Page
{
    private static readonly ILog log = LogManager.GetLogger("LogFile");

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (Session["CategoriaTramiteId"] != null && !string.IsNullOrEmpty(Session["CategoriaTramiteId"].ToString()))
            {
                CategoriaDropDownList.SelectedValue = Session["CategoriaTramiteId"].ToString();
            }
        }
    }
    protected void TipoTramiteGridView_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        int tipoTramiteId = 0;
        try
        {
            tipoTramiteId = Convert.ToInt32(e.CommandArgument);
        }
        catch (Exception ex)
        {
            log.Error("No se pudo obtener el id del Tipo Tramite del CommandArgument", ex);
        }
        if (tipoTramiteId == 0)
            return;

        if (e.CommandName.Equals("EDITAR"))
        {
            Session["TipoTramiteId"] = tipoTramiteId;
            Session["CategoriaTramiteId"] = CategoriaDropDownList.SelectedValue;
            Response.Redirect("~/Servicios/TipoTramite/FormularioTipoTramite.aspx");
            return;
        }

        if (e.CommandName.Equals("ELIMINAR"))
        {
            try
            {
                Iudicium.Tramites.CRN.TipoTramiteCRN.DeleteTipoTramite(tipoTramiteId);
                Notificacion.MostrarNotificacion("El Tipo Tramite se eliminó correctamente", Notificacion.TipoNotificacion.Alert);
            }
            catch (Exception ex)
            {
                log.Error("No se pudo eliminar el Tipo Tramite con id: " + tipoTramiteId, ex);
                Notificacion.MostrarNotificacion("Ocurrió un error al eliminar el Tipo Tramite seleccionado", Notificacion.TipoNotificacion.Error);
            }
            finally
            {
                Response.Redirect("~/Servicios/TipoTramite/ListaTipoTramites.aspx");
            }
        }
    }
    protected void TipoTramiteDataSource_Selected(object sender, ObjectDataSourceStatusEventArgs e)
    {
        if (e.Exception != null)
        {
            log.Error("No se pudo obtener la lista de Tipos de Tramite mediante la busqueda", e.Exception);
            e.ExceptionHandled = true;
        }
    }
}
